1
หลักการสื่อสารในภาษาซีพลัส
AI037Lesson 13
00:00

ในภาษาซีพลัส การสื่อสารคือ การไหลไม่ใช่เหตุการณ์เก็บข้อมูลแบบคงที่ ไลบรารี iostream ใช้โครงสร้างลำดับชั้นเชิงพหุรูป (polymorphic hierarchy) โดยคลาสเฉพาะอย่างเช่น โครงสร้างลำดับชั้นเชิงพหุรูป ที่มีคลาสเฉพาะ เช่น ifstream (ไฟล์) และ istringstream (หน่วยความจำ) สืบทอดจาก istream. สิ่งนี้ทำให้เกิด การสืบทอดของสายการสื่อสาร: ฟังก์ชันที่ออกแบบมาเพื่อใช้งานกับสตรีมระดับฐานสามารถประมวลผลข้อมูลจากแหล่งใดก็ได้โดยไม่ต้องเปลี่ยนแปลง

ข้อจำกัดด้านการคัดลอก

สตรีมแสดงถึงการเชื่อมต่อแบบเฉพาะและมีสถานะกับฮาร์ดแวร์ เพื่อป้องกันไม่ให้หลายวัตถุแข่งกันในการเข้าถึงตัวชี้ไฟล์หรือบัฟเฟอร์คอนโซล ออบเจ็กต์การนำเข้า-ส่งออก (IO) ไม่สามารถคัดลอกหรือกำหนดค่าใหม่ได้. การพยายามใช้โค้ดเช่น ofstream out1, out2; out1 = out2; จะทำให้เกิดข้อผิดพลาดจากระบบคอมไพเลอร์ ดังนั้น ออบเจ็กต์การนำเข้า-ส่งออกจึงต้องถูกส่งผ่านด้วย การอ้างอิงแบบไม่คงที่.

ios_baseistreamostreamifstreamofstream

สะพานลำดับขั้นตอน

ขณะที่สตรีมให้เฟรมเวิร์กการทำงาน แต่ คอนเทนเนอร์แบบลำดับ (vector, list) ให้หน่วยความจำ ข้อมูลที่ถูกส่งเข้ามามักจะถูกจัดโครงสร้างเป็นคอนเทนเนอร์เหล่านี้ โดยเลือกใช้ vector เพื่อความเร็ว หรือ list เพื่อการแทรกข้อมูลที่ยืดหยุ่น

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>